package br.edu.ufcg.p1.barzin.async;

import android.os.AsyncTask;
import br.edu.ufcg.p1.barzin.App;
import br.edu.ufcg.p1.barzin.event.EventBus;
import br.edu.ufcg.p1.barzin.event.PedidoAlteradoEvento;
import br.edu.ufcg.p1.barzin.model.Pedido;
import br.edu.ufcg.p1.barzin.util.HTTPCalls;

public class AlteraPedidoTask extends AsyncTask<Pedido, Integer, Pedido> {

	@Override
	protected Pedido doInBackground(Pedido... pedidos) {

		if (pedidos.length != 1) {
			return null;
		}

		Pedido pedidoRealizado = HTTPCalls.alteraPedido(pedidos[0]);
		if (pedidoRealizado != null) {
			pedidoRealizado.setPessoas(pedidos[0].getPessoas());
			pedidoRealizado.setItem(pedidos[0].getItem());
			App.environment().getDao().alteraPedido(pedidoRealizado);
		}
		return pedidoRealizado;
	}

	@Override
	protected void onPostExecute(Pedido pedidoRealizado) {
		super.onPostExecute(pedidoRealizado);

		if (pedidoRealizado != null) {
			EventBus.getInstance().publica(
					new PedidoAlteradoEvento(pedidoRealizado));
		}
	}

}
